package com.molichuxing.gateway.bff.order.entity.request.create;

import com.molichuxing.framework.dto.RequestRootDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.List;

/**
 * 企业订单新增vo
 *
 * @Author zoumingyu
 * @Date 2020年06月09日
 */
@Data
public class OrderEnterpriseCreateVo extends RequestRootDto {
    private static final long serialVersionUID = 9091698507740313552L;

    @ApiModelProperty(value = "企业id（乙方）id")
    @NotNull(message = "企业id不能为空")
    private Integer enterpriseId;

    @ApiModelProperty(value = "企业名称（乙方）")
    @NotNull(message = "企业名称不能为空")
    private String enterpriseName;

    @ApiModelProperty(value = "签约分子公司id（甲方）")
    @NotNull(message = "签约分子公司id不能为空")
    private Integer subcompanyId;

    @ApiModelProperty(value = "签约分子公司名称（甲方）")
    @NotNull(message = "签约分子公司名称不能为空")
    private String subcompanyName;

    @ApiModelProperty(value = "租期（1：1个月，n：n个月）")
    @NotNull(message = "租期不能为空")
    private Integer tenancy;

    @ApiModelProperty(value = "还款周期（1：1个月，n：n个月）")
    @NotNull(message = "还款周期不能为空")
    private Integer repaymentPeriod;

    @ApiModelProperty(value = "父订单号 （续订单用）")
    private Long prentOrderCode;

    @ApiModelProperty(value = "合同编号")
    @NotNull(message = "合同编号不能为空")
    private String contractNo;

    @ApiModelProperty(value = "合同签订日期")
    @NotNull(message = "合同签订日期不能为空")
    private String contractDate;

    @ApiModelProperty(value = "合同扫描件")
    @NotNull(message = "合同信息不能为空")
    @Size(min = 1, max = 5, message = "合同信息最少1张,最大5张")
    private List<ContractPathVo> contractUrls;

    @ApiModelProperty(value = "订单车辆信息")
    @NotNull(message = "订单车辆信息不能为空")
    @Size(min = 1, message = "订单车辆信息不能为空")
    private List<EnterpriseCarCreateVo> cars;

    @ApiModelProperty(value = "父订单保证金")
    private BigDecimal prentOrderDeposit;

    @ApiModelProperty(value = "备注")
    private String remark;
}
